#ifndef MOUSEELEMENT_H_INCLUDED
#define MOUSEELEMENT_H_INCLUDED

#include "ConfigElement.h"

#define MOUSE_TAG                       "mouse"

#define MOUSE_INTERPRETER_ATTRIBUTE     "interpreter"

namespace OpenNano
{
    class OPENNANO_EXPORT MouseElement : public ConfigElement
    {
        DECLARE_OBJECT_FACTORY( MouseElement );

        private:
            std::string _interpreter;

        protected:
            void attributeFound(TiXmlAttribute * attribute );
            void childElementFound( TiXmlElement * childElement );
            void textFound(const char * text);
            bool postConfiguration();
            void init();

        public:
            const std::string& getInterpreter() const;
    };


}

#endif // MOUSEELEMENT_H_INCLUDED
